<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Переменные</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
<link rel="home" href="index.html" title="Руководство по Smarty">
<link rel="up" href="language.basic.syntax.html" title="Chapter 3. Базовый синтаксис">
<link rel="prev" href="language.basic.syntax.html" title="Chapter 3. Базовый синтаксис">
<link rel="next" href="language.syntax.functions.html" title="Функции">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Переменные</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="language.basic.syntax.html">Prev</a> </td>
<th width="60%" align="center">Chapter 3. Базовый синтаксис</th>
<td width="20%" align="right"> <a accesskey="n" href="language.syntax.functions.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" title="Переменные">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="language.syntax.variables"></a>Переменные</h2></div></div></div>
<p>
  Переменные шаблона начинаются со знака $доллара. Они могут состоять из цифр,
  букв, знаков подчёркивания - как и обычные
  <a class="ulink" href="http://php.net/language.variables" target="_top">PHP variable</a>.
  Вы можете обращаться к массивам по числовым и нечисловым индексам.
  Вы также можете обращаться к свойствам и методам объектов.
  <a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">Переменные конфигурационного файла</a>
  - это исключения из долларового синтаксиса; к ним можно обращаться, окружив
  их #решетками# или воспользовавшись специальной переменной
  <a class="link" href="language.variables.smarty.html#language.variables.smarty.config" title="{$smarty.config}">
  <em class="parameter"><code>$smarty.config</code></em></a>.
 </p>
<div class="example">
<a name="id2647686"></a><p class="title"><b>Example 3.2. Переменные</b></p>
<div class="example-contents"><pre class="programlisting">

{$foo}        &lt;-- отображение простой переменной (не массив и не объект)
{$foo[4]}     &lt;-- отображает 5-й элемент числового массива
{$foo.bar}    &lt;-- отображает значение ключа "bar" ассоциативного массива, подобно PHP $foo['bar']
{$foo.$bar}   &lt;-- отображает значение переменного ключа массива, подобно PHP $foo[$bar]
{$foo-&gt;bar}   &lt;-- отображает свойство "bar" объекта
{$foo-&gt;bar()} &lt;-- отображает возвращаемое значение метода "bar" объекта
{#foo#}       &lt;-- отображает переменную "foo" конфигурационного файла
{$smarty.config.foo} &lt;-- синоним для {#foo#}
{$foo[bar]}   &lt;-- синтаксис доступен только в цикле section, см. {section}
{assign var=foo value='baa'}{$foo} &lt;--  отображает "baa", см. {assign}

Также доступно множество других комбинаций

{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo-&gt;bar($baz,2,$bar)} &lt;-- передача параметра
{"foo"}       &lt;-- статические значения также разрешены

{* отображает серверную переменную "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}

  </pre></div>
</div>
<br class="example-break"><p>
  Переменные запроса, такие как <code class="literal">$_GET</code>,
  <code class="literal">$_SESSION</code> и т.д. доступны через зарезервированную
  переменную  <a class="link" href="language.variables.smarty.html" title="Зарезервированная переменная {$smarty}">
  <em class="parameter"><code>$smarty</code></em></a>.
 </p>
<p>
  См. также <a class="link" href="language.variables.smarty.html" title="Зарезервированная переменная {$smarty}">
  <em class="parameter"><code>$smarty</code></em></a>,
  <a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">Переменные файлов конфигурации</a>,
  <a class="link" href="language.custom.functions.html#language.function.assign" title="{assign}"><code class="varname">{assign}</code></a>
  и
  <a class="link" href="api.assign.html" title="assign()"><code class="varname">assign()</code></a>.
 </p>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="language.basic.syntax.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="language.basic.syntax.html">Up</a></td>
<td width="40%" align="right"> <a accesskey="n" href="language.syntax.functions.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Chapter 3. Базовый синтаксис </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
<td width="40%" align="right" valign="top"> Функции</td>
</tr>
</table>
</div>
</body>
</html>
